package com.ruoyi.project.stock.stock.service;

import com.ruoyi.project.port.domain.InventoryRespondData;
import com.ruoyi.project.stock.stock.domain.BasStock;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
 * 库存表Service接口
 * 
 * @author ruoyi
 * @date 2023-04-10
 */
public interface IBasStockService 
{
    /**
     * 查询库存表
     * 
     * @param stockId 库存表主键
     * @return 库存表
     */
    public BasStock selectBasStockByStockId(String stockId);

    /**
     * 查询库存表列表
     * 
     * @param basStock 库存表
     * @return 库存表集合
     */
    public List<BasStock> selectBasStockList(BasStock basStock);

    /**
     * 库存查询接口
     * @param basStock
     * @return
     */
    public List<InventoryRespondData> selectBasStockListForApi(BasStock basStock);

    /**
     * 新增库存表
     * 
     * @param basStock 库存表
     * @return 结果
     */
    public int insertBasStock(HttpServletRequest request, BasStock basStock, String stockId);

    /**
     * 修改库存表
     * 
     * @param basStock 库存表
     * @return 结果
     */
    public int updateBasStock(BasStock basStock);

    /**
     * 批量删除库存表
     * 
     * @param stockIds 需要删除的库存表主键集合
     * @return 结果
     */
    public int deleteBasStockByStockIds(String stockIds);

    /**
     * 删除库存表信息
     * 
     * @param stockId 库存表主键
     * @return 结果
     */
    public int deleteBasStockByStockId(String stockId);

    /**
    * 指定货位出库
    */
    public String assignCargoOut(String trayCode,String exitId);
    /**
    * 查询异常库位
    */
    public List<BasStock> selectErrorStockList(BasStock basStock);
}
